/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.HolterEstudioCardiologiaFisica;
import hibernate.objeto.HolterEstudioCardiologia;

/**
 *
 * @author Gonzalo
 */
public class HolterEstudioCardiologiaLogica extends CapaLogica {

    /**
     * Crea y persiste el examen Holter del estudio de cardiología.
     *
     * @param datosEstudioCardiologia Los datos del estudio Holter
     * creado para su posterior recuperación
     * @param idHolterEstudioCardiologia El id del objeto
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarHolterEstudioCardiologia(
            Object[] datosEstudioCardiologia,
            int[] idHolterEstudioCardiologia) {
        //Crea el objeto
        HolterEstudioCardiologia holterEstudioCardiologia =
                crearObjetoHolterEstudioCardiologia(datosEstudioCardiologia);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(holterEstudioCardiologia)) {
            idHolterEstudioCardiologia[0] = holterEstudioCardiologia
                    .getIdHolterEstudioCardiologia();
            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto Holter.
     *
     * @param datosEstudioCardiologia Los datos del Holter
     * @return El objeto creado
     */
    private static HolterEstudioCardiologia
            crearObjetoHolterEstudioCardiologia(
            Object[] datosEstudioCardiologia) {

        HolterEstudioCardiologia holterEstudioCardiologia =
                new HolterEstudioCardiologia();

        holterEstudioCardiologia.setConclusionesHolterEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_CONCLUSIONES].toString());

        holterEstudioCardiologia.setDuracionEnHorasHolterEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_DURACION_EN_HORAS].toString());

        holterEstudioCardiologia.setEsSvHolterEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_ES_SV].toString());

        holterEstudioCardiologia.setEsVHolterEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_ES_V].toString());

        holterEstudioCardiologia.setFcMaximoHolterEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_FC_MAXIMO]);

        holterEstudioCardiologia.setFcMinimoHolterEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_FC_MINIMO]);

        holterEstudioCardiologia.setFcPromedioHolterEstudioCardiologia(
                (Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_FC_PROMEDIO]);

        holterEstudioCardiologia.setTrastornoDelStHolterEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_HOLTER_TRASTORNO_DEL_ST].toString());

        return holterEstudioCardiologia;
    }

    /**
     * Retorna el objeto HolterEstudioCardiologia según el id.
     *
     * @param idHolterEstudioCardiologia  El id de la
     * HolterEstudioCardiologia
     * @return El objeto HolterEstudioCardiologia consultado, null si no existe
     */
    static HolterEstudioCardiologia getHolterEstudioCardiologiaPorId(
            int idHolterEstudioCardiologia) {
        return HolterEstudioCardiologiaFisica
                .getHolterEstudioCardiologiaPorId(
                idHolterEstudioCardiologia);
    }

}
